Skip to content

Conversation

@julceslauhub
Copy link
Contributor

Issue & Reproduction Steps

The BPMN files generated by the modeler used by the client cannot be imported into PM. However, it works perfectly with other BPMN files from different modelers.

Solution

The XSD definition used by ProcessMaker restricts some definitions found in the client’s BPMN files. A couple of these restrictions have been modified to allow the client’s files to be imported.

How to Test

Create a new process and use one of the BPMN files provided in the ticket.

Related Tickets & Packages

https://processmaker.atlassian.net/browse/FOUR-25187

Important Note

With this change, the BPMN files provided by the client can be imported. However, our modeler does not automatically fix the visual layout of certain elements in their designs (likely due to differences in scaling and icon sizes between the two modelers).

Code Review Checklist

  • I have pulled this code locally and tested it on my instance, along with any associated packages.
  • This code adheres to ProcessMaker Coding Guidelines.
  • This code includes a unit test or an E2E test that tests its functionality, or is covered by an existing test.
  • This solution fixes the bug reported in the original ticket.
  • This solution does not alter the expected output of a component in a way that would break existing Processes.
  • This solution does not implement any breaking changes that would invalidate documentation or cause existing Processes to fail.
  • This solution has been tested with enterprise packages that rely on its functionality and does not introduce bugs in those packages.
  • This code does not duplicate functionality that already exists in the framework or in ProcessMaker.
  • This ticket conforms to the PRD associated with this part of ProcessMaker.

@julceslauhub julceslauhub requested a review from caleeli July 29, 2025 15:21
Copy link
Contributor

@caleeli caleeli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please review is the Semantic.xsd matches the official standar https://www.omg.org/spec/BPMN/20100501/Semantic.xsd


// Some BPMN definitions created in others modelers doesn't comply BPMN 2.0
// So, should be fixed
$fixBpmnSchemaService = new FixBpmnSchemaService();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Register the service and use the Laravel style to register services:

$fixBpmnSchemaService = app(FixBpmnSchemaService::class);

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@pmPaulis pmPaulis changed the title FOUR-25187 Processes cannot be created with BPMN files FOUR-25187: Processes cannot be created with BPMN files Aug 1, 2025
Copy link
Contributor

@caleeli caleeli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a test to the implementation

@processmaker-sonarqube
Copy link

Quality Gate passed Quality Gate passed

Issues
0 New issues
0 Fixed issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarQube

@caleeli caleeli added 4.15.7 and removed version-tbd labels Sep 1, 2025
@nolanpro nolanpro merged commit 7646f30 into develop Sep 2, 2025
16 of 18 checks passed
@nolanpro nolanpro deleted the bugfix/FOUR-25187 branch September 2, 2025 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants